// 第20节：管理：备份和还原
/* 
  作为一个数据库管理员，对数据库的备份和还原是比作的两项工作。其实用起来是相当简单的，
  就是mongodump和mongorestore两个命令。
*/


// 数据备份
// 先来看一下mongodump备份的基本格式，其实这就是条在终端中执行的命令。
/* 
  mongodump
    --host 127.0.0.1
    --port 27017
    --out D:/databack/backup
    --collection myCollections
    --db test
    --username username
    --password password
*/
// 比如现在我们备份所有MongoDB里的库到D盘的databack文件夹下，就可以把命令写成这样
// mongodump --host 127.0.0.1 --port 27017 --out D:/databack/
// 注意: 无需进入数据库mongo操作,直接在命令行操作


// 数据恢复
/* 
  备份好后，如果数据库有意外或者遭受到了攻击，我们要进行回复数据库，
  这时候就可以使用mongorestore命令。
*/
// 还是先看一下它的基本格式
/* 
  mongorestore
    --host 127.0.0.1
    --port 27017
    --username username
    --password password
    <path to the backup>
*/
// 比如我们现在不小心删除了一个collections的数据，要进行恢复。现在删除randomInfo集合。
// db.randomInfo.drop();
// 使用命令进行恢复
// mongorestore --host 127.0.0.1 --port 27017 D:/databack/


// 总结:
/* 
  两个命令很简单，甚至你可以写成脚本和定时任务，让他每天自己执行。但是如果你真的使用了MongoDB数据库，
  这是一个最基本的操作，还是要会使用的。
*/